package com.ruikong.dazhi.dao.basicinfo;



import com.ruikong.dazhi.entity.basicinfo.Line;
import com.ruikong.dazhi.model.input.LinePageInput;
import com.ruikong.dazhi.model.output.LineOutput;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * (Line)表数据库访问层
 *
 * @author Hassion.Tang
 * @since 2020-07-01 13:58:24
 */
 @Mapper
public interface LineMapper {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    Line queryById(Integer id);

    /**
     * 查询指定行数据
     *
     * @param offset 查询起始位置
     * @param limit 查询条数
     * @return 对象列表
     */
    List<Line> queryAllByLimit(@Param("offset") int offset, @Param("limit") int limit);


    /**
     * 通过实体作为筛选条件查询
     *
     * @param line 实例对象
     * @return 对象列表
     */
    List<Line> queryAll(Line line);

    /**
     * 新增数据
     *
     * @param line 实例对象
     * @return 影响行数
     */
    int insert(Line line);

    /**
     * 修改数据
     *
     * @param line 实例对象
     * @return 影响行数
     */
    int update(Line line);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 影响行数
     */
    int deleteById(Integer id);

    List<Line> getLineListSearch(LinePageInput input);

    Integer isExist(Line line);

    List<Line> getLineList();

    List<Line> getLineListByType(Integer lineType);

    //根据车间获取产线
    List<Line>  getLineListByShop(Integer shop_id);

    List<LineOutput> getPackageOrderNumberByLine();
    List<LineOutput> getLineNameByState();

    Line queryLineByName(String line_name);

    Integer isLineExist(String line_sn);

}
